<?php

class FacultadController extends Zend_Controller_Action{

    public function init(){
        X\Permiso::paraController();
        $this->em = Zend_Registry::getInstance()->entitymanager;
    }

    public function indexAction(){
        // action body
    }

    public function ajaxCrearAction(){
        X\Permiso::paraAction('Crear.Facultad');
        $nombre = $this->_request->getPost('nombre');
        $sigla  = $this->_request->getPost('sigla' );
        $sede   = $this->_request->getPost('sede'  );

        // query
        $existeNombre = $this->em->createQueryBuilder()
            ->select   ('count(c.nombre)')
            ->from     ('Default_Model_Carrera', 'c')
            ->where    ("c.nombre='".pg_escape_string($nombre)."'")
            ->getQuery ()
            ->getSingleScalarResult();

        $existeCodigo = $this->em->createQueryBuilder()
            ->select   ('count(c.codigo)')
            ->from     ('Default_Model_Carrera', 'c')
            ->where    ("c.codigo='".pg_escape_string($codigo)."'")
            ->getQuery ()
            ->getSingleScalarResult();

        // check
        if ($existeNombre > 0)
            throw new Exception('Ya existe una facultad con este nombre.');

        if ($existeCodigo > 0)
            throw new Exception('Ya existe una facultad con este código.');
        
            $facultad = new Default_Model_Facultad;
            // cargar
            $facultad->setNombre ($nombre);
            $facultad->setSigla  ($sigla);
            $facultad->setSede   ($sede);

            // guardar
            $this->em->persist($facultad);
            $this->em->flush();

        // json
        X\Msg::Success('La Facultad se ha cargado exitosamente.');

    }


}

